package spawner;


import graphic.Assets;
import model.Coordinate;
import model.entity.Entity2D;
import param.GraphicsParam;

/**
 * Codice di esempio di come si dichiara una nuova entita'.
 * @author Jan
 *
 */
public class SpawnerTest2DEntity extends Entity2D{
	
	public SpawnerTest2DEntity(int entityID, Coordinate coordinate, int shiftAmount) {
		super(entityID, coordinate, shiftAmount);
		
		//Specifica dello sprite statico.
		setSprite( Assets.getsLoader().getSprite(Assets.SPRITE_MOB_2D) );
	}

	
	
	//Specifica del comportamento.
	
	@Override
	public boolean perform() {
		
		if(getCoordinate().getY() > GraphicsParam.GAME_HEIGHT - getSprite().getHeight()/2){
			getCoordinate().setY(getCoordinate().getY()+5);
			return false;
		}else{
			System.out.println("ID "+ getEntityID() +" say: killed");
			return true;
		}
		
		//Nota: false per continuare ad esegiore il comportamento;
		//		true per eliminare il thread.
	}
	
	@Override
	public boolean haveChild() {
		return false;
	}
}
